package com.jic.product.mapper;

import java.util.List;

import com.jic.product.manage.request.ShopInfoRequest;
import com.jic.product.manage.response.ShopInfoResponse;
import com.jic.product.model.entity.MProduct;
import com.jic.product.model.vo.response.MProductTypeResponse;
import com.jic.product.pojo.MCategory;
import com.jic.product.pojo.MProductBrandRequest;
import com.jic.product.pojo.MProductTest;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/*
 * @Classname 田雨
 * @Description TODO
 * @Created by 22720
 * 持久层
 */

public interface MProductMapper {

    int insert(MProduct mProduct);

    int insertSelective(MProduct mProduct);

    int updateByPrimaryKey(MProduct mProduct);

    int updateByPrimaryKeySelective(MProduct mProduct);

    int deleteByPrimaryKey(MProduct mProduct);

    MProduct selectByPrimaryKey(MProduct mProduct);

    List<MProduct> listPageBySelective(MProduct mProduct);

    List<MProductTest> pageList(@Param("id") Integer id);

    List<MProductBrandRequest> brandList(@Param("id") Integer id);

    List<MCategory> categoryList(@Param("id") Integer id);

    List<MProduct> selectBySelective(MProduct mProduct);

//    Long updateA(MProduct param);

//    int updateB(MProduct param);

    int updateA(@Param("id") Long id);

    int updateB(@Param("id") Long id);

    List<MProduct> listPageX(MProduct request);

    List<MProduct> listPageS(MProduct request);


    int updateListA(MProduct param);


    int updateListB(MProduct param);

    Integer selectListA(@Param("id") Long id);

    int save(MProduct param);

    List<ShopInfoResponse> listPointsProduct(ShopInfoRequest shopInfoRequest);

    List<MProduct> topTenProductQuery(MProduct mProduct);

    /**
     * 查询 [商品表]包含的商品类型
     */
    List<String> queryProductType();
}